package me.send.business.service.mapper;

import java.util.List;
import java.util.Map;

import me.send.business.service.pojo.Zambia;

import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;

public abstract interface ZambiaMapper {

	
	/**
	 * 分页查询这个用户 所有订单的点赞数目
	 * 
	 * 2015年6月11日16:38:58
	 */
	@Select(value="select * from zambia where userid = #{userid} limit #{start,size}")
	public abstract List<Map<String, Object>> list_userid(int userid);
	
	
	/**
	 * 根据用户 订单的状态 查询 赞要通知的数目 
	 * 
	 * 2015年6月11日16:40:36
	 */
	@Select(value="select count(1) as total from zambia where userid = #{userid} and lookstatus = #{lookstatus}")
	public abstract int count_zambia_userid_lookstatus(Map<String, Object> param);
	
	/**
	 * 跟新所有的用户订单的状态
	 * 
	 * 2015年6月11日16:48:33
	 */
	@Update(value="update zambia set lookstatus = 1 ,updatetime = #{updatetime}")
	public abstract void beach_update_lookstatus(String updatetime);
	
	
	
	/**
	 * 提供给其他mapper使用 
	 * 
	 * 2015年6月10日14:29:29
	 */
	@Select(value="select count(1) as total from zambia where userid = #{userid} ")
	public abstract int count_userid(int userid);
	
	
	
	/**
	 * 给订单点个 赞 2015年6月10日10:21:01
	 * 
	 * 验证接口 根据用户编号和订单编号
	 */
	@Select(value="select count(1) as total from zambia where userid = #{userid} and orderid = #{orderid} ")
	public abstract int count_userid_orderid(Zambia zambia);
	
	/**
	 * 根据订单编号 查询用户的点赞的数目
	 * 
	 * 2015年6月10日11:55:50
	 */
	@Select(value="select count(1) as total from zambia where orderid = #{orderid}")
	public abstract int count_orderid(int orderid);
	
	/**
	 * 给订单点个赞 2015年6月10日10:23:37
	 * 
	 * 使用保存方法 根据订单号和用户编号
	 */
	@Insert(value="insert into zambia (userid,orderid,createtime) values(#{userid},#{orderid},#{createtime})")
	public abstract void zambia_save(Zambia zambia);
	
	/**
	 * 给订单点个赞 2015年6月10日10:28:59
	 * 
	 * 使用跟新方法 主要更新下时间
	 */
	@Update(value="update zambia set updatetime = #{updatetime} where userid = #{userid} and orderid = #{orderid}")
	public abstract void update(Zambia zambia);
	
	/**
	 * 给订单点个赞 2015年6月10日11:28:05
	 * 
	 * 使用删除这个赞 要是用户对这个订单 点过赞 使用这个方法
	 */
	@Delete(value="delete from zambia where userid = #{userid} and orderid = #{orderid}")
	public abstract void delete_userid_orderid(Zambia zambia);
	
}
